package com.ruoyi.app.domain.bo;

import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;

/**
 * APP用户动态业务对象 app_team_list
 *
 * @author heike
 * @date 2023-08-17
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class AppTeamListBo extends BaseEntity {

    /**
     * ID
     */
    private Long id;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 发布任务的标题
     */
    @NotBlank(message = "标题不能为空", groups = {AddGroup.class, EditGroup.class})
    private String title;

    /**
     * 动态内容
     */
    @NotBlank(message = "内容不能为空", groups = {AddGroup.class, EditGroup.class})
    private String context;

    /**
     * 活动群组
     */
    private String groupId;

    /**
     * 动态图片，多个图片,分割
     */
    private String images;


    /**
     * 选择位置
     */
    private String address;

    /**
     * 经度
     */
    private BigDecimal longitude;

    /**
     * 纬度
     */
    private BigDecimal latitude;

    /**
     * 大类型ID
     */
    private Long type;

    /**
     * 子类型ID
     */
    @NotNull(message = "请选择任务分类", groups = {AddGroup.class, EditGroup.class})
    private Long teamType;

    /**
     * 状态(0=展示，1=不展示，2=待审核)
     */
    private String status;

    /**
     * 动态范围
     */
    private String scope;

    /**
     * 性别要求
     * (0=男 1=女 2=不限)
     */
    private String sexNeed;

    /**
     * 费用方式
     * AA=0，你请客=1，我请客=2，免费=3
     */
    private String cost;

    /**
     * 参加人数
     */
    private Integer number;

    /**
     * 开始时间
     */
    @NotNull(message = "开始时间不能为空", groups = {AddGroup.class, EditGroup.class})
    private Long startTime;

    /**
     * 结束时间
     */
    @NotNull(message = "结束时间不能为空", groups = {AddGroup.class, EditGroup.class})
    private Long endTime;

    /**
     * 备注
     */
    private String remark;

    /**
     * 图片高度
     */
    private String height;

    /**
     * 图片宽度
     */
    private String width;

    /**
     * 切割后的图片数组
     */
    private List<String> imagesList;


}
